Multichannel receivers for radio signals which are encoded by pseudo-random (PR) code signals are employed by consumers using global satellite navigation systems--for example, GPS ("NAVSTAR") and GLN ("GLONASS") systems. These systems enable one to determine the receiver's location, its velocity vector, and to also correct errors in the receiver's time clock (in other words, to make the time scale of the receiver more precisely synchronized to the GPS time).
Such a receiver receives signals simultaneously from many satellites. Each of these satellite radiates signals in two bands: the L1 band and the L2 band. Two carrier signals are simultaneously transmitted in the L1-band; both carrier signals have the same frequency, but are shifted in phase by .pi./2 (90.degree.). The first L1 carrier signal is modulated by the clear acquisition C/A-code signal and the second L1 carrier signal is modulated by the precision P-code signal. One carrier signal is transmitted in the L2 band, but using a different frequency than the L1 carrier signals. The L2 carrier signal is modulated by the same P-code signal used to modulate the second L1 carrier signal. Each C/A-code signal and P-code signal comprises a repeating sequence of segments, or "chips", where each chip is of a predetermined time period (.DELTA.) and has pre-selected value, which is either +1 or -1. The segment values follow a pseudo-random pattern, and thus the C/A-codes and the P-codes are called pseudo-random code signals, or PR-code signals. Additionally, before each C/A-code signal and P-code signal is modulated onto its respective carrier signal, each code signal is modulated by a low frequency (50 Hz) information signal (so-called information symbols).
In the receiver, the time delay between transmission from the satellite and reception by the receiver is measured for each of the incoming satellite signals. The delays are measured relative to a time clock within the receiver, which is based upon a main reference oscillator. Typically, the time base of all of the clock signals, reference carrier signals, and reference code signals generated by the receiver is derived from this main reference oscillator, and each of these signals drifts with any drift in the main reference oscillator. While the receiver's main reference oscillator and time clock are relatively precise, they are usually not as precise as the satellite's clock and reference oscillator and, accordingly, they drift in time with respect to the satellite's clock and oscillator.
For each satellite, the delay is measured with the aid of several time scales present within the received satellite signal. There is the low-frequency information signal, which provides the least precise timing information, and then there is the more precise time scale in the delay measurement of the C/A-code signal, and the even more precise time scale in the delay measurement of the P-code signal. Additionally, the delay can be measured by using the phase of the satellite's carrier signal, which can provide more precise measurements than the P-code signal. Carrier-phase measurements have a small ambiguity interval (the carrier frequency period), but provide higher precision, and are of importance in differential navigation applications. With the exception of the low-frequency information signal, the accuracy of each of the time scales is affected by the drift in the oscillation frequency of the main reference oscillator.
A typical receiver has several individual tracking channels, each channel for tracking one satellite signal, as received by one antenna. Each tracking channel measures the delay of one PR-code signal within the satellite signal (e.g., C/A-code or P-code signal) and usually also the phase of the satellite's carrier signal. A typical tracking channel may comprise a Delay-Lock Loop (DLL) circuit for tracking the delay of the PR-code, and a Phase-Lock Loop (PLL) circuit for tracking the phase of the satellite's carrier signal.
The processing of the received signal in each individual tracking channel of the receiver comprises the steps of sequential multiplying the received signal (as already passed through the input and filter circuits and down converter) with a reference carrier signal and a reference code signal, both of which are generated within the tracking channel, and then accumulating (or integrating) the resulting multiplication products. The reference carrier signal corresponds to the received carrier signal for the given satellite, and the reference code signal corresponds to the corresponding PR-code signal of the same satellite. Devices that carry out the two multiplication steps and the subsequent accumulation step are called correlators, and the corresponding process is called the correlation of the input signal with the reference signals. Each tracking channel generates three or more correlation signals, each such signal being generated in a respective correlator, which correlates the input signal with a respective reference code signal and the reference carrier signal for the channel. At least two of the reference code signals used in a channel are different from one another (in form and/or by phase shift). However, each of the channel's reference code signals has a range of high correlation with the satellite code signal being tracked. Also, for GPS satellite signals, each of channel's reference code signals has substantially no correlation with the code signals of other satellites; this enables a receiver channel to distinguish the satellites from one another. In the GLN system the same C/A-code is used, but each satellite has a different carrier frequency, which enables a receiver channel to distinguish the satellites from one another.
There are many different structures for the individual tracking channel known in the prior art. Most typical is a structure which uses a coherently-generated reference carrier signal, three correlators, a Delay-Lock Loop (DLL) circuit, and a Phase-Lock Loop (PLL) circuit. The reference carrier signal may be a sinusoid, a square wave, a triangular wave, or other periodic waveform. The PLL circuit relies on the output of one or more of the correlators and controls the generation of the reference carrier signal so that the carrier signal is synchronized to the satellite's carrier signal (i.e., coherent). This action of synchronizing the reference carrier signal to the satellite's carrier signal by controlling the generation of the reference signal is referred to as the tracking action of the PLL circuit. Typically, the PLL circuit adjusts the phase of the reference carrier signal in order to reach synchronization. The phases of the satellite carrier signal and the reference carrier signal are the same when the two are synchronized, and are approximately the same when the phase of reference carrier signal is being adjusted to reach synchronization. (By approximately, we mean that the phases are within .pi. of one another when the low-frequency information signal is not present, and within .pi./2 of one another when the low-frequency information signal is present; typically, the phases are within 10% of a cycle.) The phase difference between the signals may be measured and defined by the distance between corresponding zero-crossings.
As a result of synchronizing the phases of the two signals, their average frequencies coincide. When the phases are being adjusted to reach synchronization, the average frequencies are approximately the same, typically being within 10% of one another. When we speak of the frequency of the satellite's carrier signal in the context of PLL synchronization and tracking, we mean the frequency that the carrier signal has when it is presented to the PLL circuit, which is typically (but not necessarily) after the satellite signal has been frequency down-converted. Thus, the frequency of the satellite's carrier signal at the PLL circuit is typically at a value which is lower than its original transmitted value.
The DLL circuit relies on the output of one or more of the correlators and adjusts the phase (often called delay) of the reference code signals for the correlators so that these code signals are synchronized to the PR-code signal of the satellite signal. This action is referred to as the tracking action of the DLL circuit.
As indicated above, each correlator multiplies the satellite signal with the coherent reference carrier signal and a respective reference PR-code signal. The reference carrier signal is typically in quadrature format (e.g., cos(.omega..sub.0 t) and sin(.omega..sub.0 t)), and each correlator effectively multiplies the input signal by one of the quadrature components. We now describe three typical correlation signals, after which we describe how typical DLL and PLL circuits use the correlation signals.
The first correlator generates the "in-phase" correlation signal I(*), which may be generated by multiplying the input satellite signal with the in-phase component (e.g., cos(.omega..sub.0 t)) of the coherent reference carrier signal, and with a reference code signal that is a scaled replica of the satellite's PR-code signal. The final multiplication products are then accumulated over a specific amount of time to generate signal I(*). The correlation signal I(*) is used to demodulate the information symbol present within the satellite signal and to normalize the discriminator outputs generated in the DLL and PLL circuits to make them relatively invariant to changes in the signal strength of the received satellite signal. The correlation signal I(*) may be represented in the following form: EQU I(.epsilon..sub.1,.psi.)=M*R.sub.0 (.epsilon..sub.1)*cos(.psi.),
where M represents the input signal strength, R.sub.0 (.epsilon..sub.1) is the cross-correlation function of the satellite's filtered PR-code signal and the locally generated reference code signal which may be a replica of the satellite's un-filtered PR-code signal, where the .epsilon..sub.1 is the time shift between the sequence start of the two PR-code signals being correlated, and where the term cos(.psi.) accounts for variations in the magnitude of I(*) caused by a phase difference .psi. between the satellite's carrier signal and the reference carrier signal of the receiver channel. (The satellite's PR-code signal is filtered because of the filtering done in the down-conversion process). For the sake of simplicity, we have not shown the dependency of I(*) on the low-frequency information signal since the demodulation of this signal is a trivial matter. PA1 where the .epsilon..sub.2 is the time shift between the sequence start of the two PR-code signals being correlated, and where the term sin(.psi.) accounts for variations in the magnitude of Q(*) caused by a phase difference .psi. between the satellite's carrier signal and the reference carrier signal of the receiver channel. For the sake of simplicity, we have not shown the dependency of Q(*) on the low-frequency information signal. PA1 where .DELTA.R.sub.0 (.epsilon.) is the cross-correlation function of the satellite's PR-code signal and the locally generated main reference code signal (i.e., the sequence of short strobe-pulses), where the .epsilon. is the time shift between the sequence start of the two PR-code signals being correlated, and where the term cos(.psi.) accounts for variations in the magnitude of dI(*) caused by a phase difference .psi. between the satellite's carrier signal and the reference carrier signal of the receiver channel. (The dependency of dI(*) on the low-frequency information signal has not been shown for the reasons given above.) It is known that such a strobed reference code signal provides the DLL characteristics which can be obtained with the use of the early-late narrow correlator structure. PA1 Ed=dI, or PA1 Ed=dI*I, or PA1 Ed=dI/I, or PA1 Ed=dI*Sgn(I), or PA1 Ed=dI/Sgn(I), PA1 Ep=Q, or PA1 Ep=arctan(Q/I), or PA1 Ep=Q/I, or PA1 Ep=Q*Sgn(I),or PA1 Ep=Q/Sgn(I), or PA1 Ep=Q*I. PA1 matrix H.sub.1 is the matrix H complemented by the unit vector t=(1, 1, . . . , 1).sup.T : H.sub.1 =[H.vertline.t]; PA1 matrix H is the well-known Jacobian matrix, or matrix of observations, for the satellite-antenna pseudo-ranges (matrix H is also called the "geometric function matrix", the "Jacobian geometric matrix", and for certain coordinate system definitions it is called the "matrix of directional cosines"); PA1 matrix R is a covariance matrix of the estimated measurement errors, and its matrix elements depend upon the signal levels and the elevation angles of each of the satellites; R is a square N.times.N matrix); and PA1 where the first three components of vector V.sub.D =(X, Y, Z, .PHI..sub.q) are the displacements of the three spatial coordinates (X, Y, Z) of the antenna's phase center in any coordinate system, and where the fourth component .PHI..sub.q of V.sub.D is the phase fluctuation of the reference code oscillator. As is known in the global positioning art, there are a number of spatial coordinate systems for representing the position of an object in three dimensions. The most commonly used coordinate systems are the Cartesian system, Earth-centered Earth-fixed (ECEF) system, geodesic system, and topocentric system. Some of these systems are variants of the Cartesian system. Once the coordinate system is selected for the receiver, the mathematical expression for computing the pseudo-range R, between a visible satellite (J) and the antenna may be determined. From this expression, the J-th row of the Jacobian matrix H is the set of mathematical derivatives of R.sub.J with respect to the antenna coordinates (X, Y, Z): the J-th row of H=(.differential.R.sub.J /.differential.X, .differential.R.sub.J /.differential.Y, .differential.R.sub.J /.differential.Z). Thus, the matrix elements of H are representative of the changes in the pseudo-ranges that would be caused by changes in the antenna's position in the selected coordinate system. The matrix elements of H.sub.1 are also representative of these changes as well as changes in the pseudo-ranges that would be caused by frequency fluctuations in the main reference oscillator 26.
The second correlator of the tracking channel generates the quadrature correlation signal Q(*). This signal may be generated by multiplying the input signal with a second reference PR-code signal, and with the quadrature component (e.g., sin(.omega..sub.0 t)) of the coherent reference carrier signal, and then accumulating the resulting multiplication products. The second reference PR-code signal may be the same as the reference code signal used in the first correlator. Signal Q(*) is used for generating the error signal in the PLL circuit, and may be represented in the following form: EQU Q(.epsilon..sub.2,.psi.)=M*R.sub.0 (.epsilon..sub.2)*sin(.psi.).
The third correlator generates the main correlation signal dI(*), which is used by the DLL circuit to control the generation of the reference code signals and to synchronize the reference code signal to the satellite's code signal. Signal dI(*) may be generated by multiplying the input satellite signal with a strobed version of the satellite's PR-code signal, which is called the "main reference code signal", and with the in-phase component (e.g., cos(.omega..sub.0 t)) of the coherent reference carrier signal, and then accumulating the resulting multiplication products. A strobed version of the satellite's PR-code signal may comprise a sequence of short strobe-pulses, each pulse corresponding to a boundary (also called end) between two chips of the input PR-code signal where there is a change in the sign of the input PR-code signal, and having a polarity which corresponds that of the later chip. The dI(*) signal may be represented as: EQU dI(.epsilon.,.psi.)=M*.DELTA.R.sub.0 (.epsilon.)*cos(.psi.),
The DLL circuit adjusts the value of the time shift .epsilon. to bring the two PR-code signals into a desired alignment (i.e., synchronization). The time shifts .epsilon..sub.1 and .epsilon..sub.2 of the reference PR-code signals in the first and second correlators are synchronized to the time shift .epsilon.. As such, when the reference code signal of the third correlator is advanced (or retarded) in phase by an amount, each of the reference code signals for the first and second correlators is advanced (or retarded) by the same amount. Time shifts .epsilon..sub.1 and .epsilon..sub.2 are usually set equal to the DLL time shift .epsilon.; however, they could be off set in time by constant offsets .epsilon..sub.K and .epsilon..sub.S respectively (e.g., .epsilon..sub.1 =.epsilon.-.epsilon..sub.K and .epsilon..sub.2 =.epsilon.-.epsilon..sub.S).
For controlling the adjustment of time shift .epsilon. in the DLL circuit, the DLL circuit comprises a code-delay discriminator which generates a delay-error signal Ed representative of the error between time shift .epsilon. and the desired operating value, which is designated as .epsilon..sub.0. Delay-error signal Ed may be generated in any of the forms:
where the function Sgn(*) generates a +1 or -1 value depending upon the sign of its parameter. Each of these forms uses the signal dI(*), which in turn is proportional to the correlation function .DELTA.R.sub.0 (.epsilon.). In a neighborhood around the desired operating point, correlation function .DELTA.R.sub.0 (.epsilon.) has a zero-crossing at the operating point, and has values of opposite polarity on either side. As is known in the GPS art, the DLL circuit uses these features of .DELTA.R.sub.0 (.epsilon.) to control the phase of the reference code signal.
It is noted that each of the first and third correlators multiplies the input satellite signal with the in-phase component (e.g., cos(.omega..sub.0 t)) of the coherent reference carrier signal. Thus, the number of components may be reduced by using a common multiplier which provides this common multiplication product for these correlators. Similarly, each of the second and fourth correlators multiplies the input satellite signal with the quadrature component (e.g., sin(.omega..sub.0 t)) of the coherent reference carrier signal; and thus a second common multiplier may be similarly used for these correlators to reduce the number of components. Along these lines, a typical implementation approach is to digitize the satellite input signal with a quadrature analog-to-digital converter (QADC) at a high intermediate frequency, which provides the input signal in quadrature format, and to thereafter multiply the digitized input signal with the reference carrier signal in quadrature format. The multiplication may be performed by a complex multiplier or a conjugating complex multiplier, and provides an output which is in quadrature format. The in-phase component of the multiplier's output is provided to the first and third correlators, and the quadrature component of the multiplier's output is provided to the second correlator. The output signals of the complex multiplier are at or near the baseband for the satellite PR-code signal.
Another structure known to the art for the individual tracking channel comprises four correlators and uses an incoherently generated reference carrier signal. In this structure, the satellite signal is down converted using a reference carrier signal which is not phased adjusted to follow the phase of the satellite's carrier signal (i.e., it is incoherent). The incoherent reference carrier signal is in quadrature format, and the down-converted satellite signal is provided in quadrature format, having a first orthogonal component and a second orthogonal component. (In this situation, we do not use the terms "in-phase component" and "quadrature-phase component" because neither of the quadrature components of the down-converted satellite signal are always in-phase with the original satellite carrier signal). Each of the orthogonal components of the down-converted satellite signal is multiplied with a replica of the satellite's PR-code signal and thereafter accumulated by two respective correlators to generate two orthogonal correlation signals I.sub.0 and Q.sub.0 :
I.sub.0 (.epsilon.,.psi.)=M*R.sub.0 (.epsilon.)*cos(.psi.),
and EQU Q.sub.0 (.epsilon.,.psi.)=M*R.sub.0 (.epsilon.)*sin(.psi.).
These correlation signals also depend upon the magnitudes of .epsilon. and .psi., as in the coherent technique. In this case, .psi. is not controlled and can have any phase shift value. In the third correlator, the first orthogonal component of the down-converted satellite signal is multiplied with a reference code signal that has the form of short strobe-pulses and the resulting product is accumulated to generate a third correlation signal dI.sub.0 (.epsilon.,.psi.)=M*.DELTA.R.sub.0 (.epsilon.)*cos(.psi.). In the forth correlator, the second orthogonal component of the down-converted satellite signal is multiplied with the same reference code signal as used in the third correlator and the resulting product is accumulated to generate a fourth correlation signal dQ.sub.0 (.epsilon.,.psi.)=M*.DELTA.R.sub.0 (.epsilon.)sin(.psi.).
From these four correlation signals, a code-delay discriminator generates a delay-error signal Ed(*) by summing the product of signals I.sub.0 and dI.sub.0 with the product of signals Q.sub.0 and dQ.sub.0 as follows: EQU Ed(.epsilon.,.psi.)=I.sub.0 *dI.sub.0 +Q.sub.0 *dQ.sub.0
It may be readily shown that the quantity (I.sub.0 *dI.sub.0 +Q.sub.0 *dQ.sub.0) is proportional to the product of the two cross-correlation functions .DELTA.R.sub.0 (.epsilon.)*R.sub.0 (.epsilon.): EQU I.sub.0 *dI.sub.0 +Q.sub.0 *dQ.sub.0 =M.sup.2 *.DELTA.R.sub.0 (.epsilon.)*R.sub.0 (.epsilon.)*cos.sup.2 (.psi.)+M.sup.2 *.DELTA.R.sub.0 (.epsilon.)*R.sub.0 (.epsilon.)*sin.sup.2 (.psi.)=M.sup.2 *.DELTA.R.sub.0 (.epsilon.)*R.sub.0 (.epsilon.)*{cos.sup.2 (.psi.)+sin.sup.2 (.psi.)}=M.sup.2 *.DELTA.R.sub.0 (.epsilon.)*R.sub.0 (.epsilon.)
Thus, this generated form of Ed(*) is proportional to the product of both correlation functions. In a neighborhood around the desired operating point, correlation function R.sub.0 (.epsilon.) has a relatively constant value, whereas correlation function .DELTA.R.sub.0 (.epsilon.) has a zero-crossing at the operating point, and has values of opposite polarity on either side. As is known in the GPS art, the DLL circuit uses these features of .DELTA.R.sub.0 (.epsilon.) to control the phase of the reference code signal.
The code-delay discriminator in the DLL circuit of an incoherent receiver may also generate the delay-output signal Ed(*) in the following form: EQU Ed(.epsilon.)=(I.sub.0 *dI.sub.0 +Q.sub.0 *dQ.sub.0)/(I.sub.0.sup.2 +Q.sub.0.sup.2)
It may be readily shown that the quantity (I.sub.0 *dI.sub.0 +Q.sub.0 *dQ.sub.0)/(I.sub.0.sup.2 +Q.sub.0.sup.2) is equal to the product of the two cross-correlation functions .DELTA.R.sub.0 (.epsilon.)*R.sub.0 (.epsilon.). This form for Ed(*) substantially eliminates the dependancy on the signal strength (M). Both forms for Ed(*) eliminate the dependency on the phase since {cos.sup.2 (.psi.)+sin.sup.2 (.psi.)}=1. Other forms for Ed(*) in the incoherent receiver embodiment are possible, as is known to the GPS/GLN art.
In both the coherent and incoherent reference carrier systems, the delay-error signal Ed(*) from the DLL's discriminator is provided to a loop filter of the DLL circuit, which determines the pass band and the servo-system type of the DLL circuit. The output of the DLL filter provides the control signal of the DLL circuit and is provided to the generator of the main reference code signal, where it is used to adjust the frequency and phase of the reference code signals used in the above-described correlators. The DLL circuit brings the delay-error signal Ed of the discriminator to substantially zero and thus synchronizes the phases of all the channel's reference code signals with the PR-code signal of the input signal.
In a coherent tracking channel, the phase-lock loop (PLL) circuit is used to adjust frequency and phase of the reference carrier signal to follow that of the satellite's carrier signal. The PLL circuit has a carrier-phase discriminator which generates a phase-error signal Ep as a function of the difference between the phases of the satellite's carrier signal and the reference carrier signal. The phase-error signal Ep may be generated in any of the following forms:
Each of these forms contains correlation function Q(*), which in turn is proportional to sin(.psi.), where .psi. is the phase difference between the phases of the input signal and the reference carrier signal.
The phase-error signal Ep from the PLL's discriminator is provided to a loop filter of the PLL circuit which determines the pass band and the servo-system type of the PLL circuit. The output of the PLL filter provides the control signal of the PLL circuit, and is provided to the generator of the reference carrier signal, where it is used to adjust the phase and frequency of the reference carrier signal. The PLL circuit adjusts the phase shift .psi. until the achievement of the condition Ep=0 (i.e., Q=0, sin(.psi.)=0) and thus aligns the phases of the reference carrier signal with the satellite's carrier signal. This point (Ep=0) is known as the operating point, or the "point of steady balance," for the PLL circuit. In most channel implementations, the loop filter of the PLL circuit is set to a higher servo-system type (or order) than that of the DLL circuit, which provides the PLL circuit with a wider dynamic bandwidth than the DLL circuit.
The relationship of the PLL's phase-error signal Ep(.psi.) and the phase shift .psi. is substantially linear in a limited range of phase shifts .psi. nearby the point of steady balance for the PLL circuit, which is Ep=0. When large shifts are present, which can occur under the effect of large noise spikes or other strong disturbances, the PLL circuit can move to another point of steady balance which is an integer number of phase half-cycles away from the previous point of steady balance (.+-.n*.pi., n=1, 2, 3, . . . ). This event is known as the "cycle slip effect", and it impedes navigational measurements using the phase of the satellite's carrier signal. Cycle slip also sets a minimum threshold on the energetic potential of the input signal for which the input signal must exceed in order to assure proper PLL tracking. The energetic potential is the ratio of the signal power of the input signal (i.e., the received satellite signal) to the spectral noise power density present at the receiver's antenna.
Whenever the distance between the satellite and the receiver changes, the phases of the reference code signals and the reference carrier signal of the tracking channel are moved to new values to account for the change in distance, which of course corresponds to a change in the transmission delay between the satellite and the receiver. If the distance is changed rapidly, the phases of the reference signals will not immediately adjust to their new values since the DLL and PLL circuits have a degree of inertia (and sometimes over-shoot) in their adjustment loops. During the time the reference signals are moving to their new values, there will be dynamic errors (i.e., transient errors) in the phase values of the reference signals.
The pass bands of the PLL and DLL circuits according to the prior art must be selected so as to minimize these dynamic errors whenever the value of the measured delay changes. In this regard, it is necessary to take into account the following set of factors-the movement of the satellite and the receiver, the frequency fluctuations in the main reference oscillator of the receiver (which can mimic a change in the distance between the satellite and receiver), the changes of the delay due to spreading of the radiowaves in the atmosphere, the selective availability (in the GPS), etc. The dynamic errors can be minimized by increasing the bandwidths of the PLL and DLL feedback loops, which causes these loops to react more quickly to small changes in their discriminator output signals. However, for the PLL circuit, it is inadvisable to widen the band excessively because increasing the bandwidth increases the influence that noise signals (including noise generated within the receiver) have on the value of the phase-error signal Ep, and these noise signals can constructively add with one another, and with the above measurement factors, to cause the PLL circuit to over-react and slip one or more carrier cycles. Accordingly, widening the bandwidth of the PLL circuit increases the probability of a cycle slip or a loss of tracking. Therefore, there is a conflict which sets limits on the maximum bandwidth of the PLL circuit for a given energetic potential of a received satellite signal at which there is still provided safe operation, or conversely, sets limits on the value of the threshold energetic potential of the input signal at which there is still provided the safe operation for a given PLL bandwidth.
In order to make the DLL and PLL circuits of the individual channels of the receiver enter the tracking mode, a search system by delay and frequency is used. The search system by delay sets the initial delay of the reference code signal possibly close to that of the PR-code signal of the input signal. If the error of the initial delay setting does not exceed the lock range of the DLL circuit, the DLL circuit settles in its point of steady balance. The search system by frequency sets the initial value of the reference carrier frequency with an error not exceeding the lock range of the PLL circuit. These systems are well known to the art and do not form a part of the present invention.
During the operation of the receiver, the loss of the track in the PLL and DLL circuits can sometimes occur because of a short-term loss of the signal from the satellite caused by a local object shadowing the receiver's antenna. In this case, it is necessary to re-activate the search systems in order to re-acquire the satellite signal and to restore the DLL and PLL circuit to their tracking modes.
U.S. Pat. No. 5,398,034 to Spilker, Jr. discloses a method which enables one to improve the precision and safety of the DLL operation. This method is carried out in a scheme called the "vector DLL". The idea of the method is based on a fact that some of the reasons causing changes in the measured delays in the individual tracking channels are common to all the receiver's channels even though the channels are tracking different satellite signals. The main common reasons are the frequency fluctuation caused by the instability of the main reference oscillator in the receiver, and the movement of the receiver's antenna. In the vector DLL scheme for the tracking of the common changes of the delays, the feedback adjustment loops of the DLL circuits of all the individual channels are replaced with a common vector DLL loop which receives all of the code delay-error signals Ed from all of the tracking channels, and which tracks and operates on these Ed signals in a coordinated manner. The vector DLL loop effectively sums together the signals from all the active channels, and therefore, increases the equivalent energetic potential of the satellite signals.
In addition, the vector DLL can operate when there is shadowing of some of the satellites, and can operate in this manner without losing the information of the delay changes on the shadowed satellites. Therefore, when a satellite signal re-appears after being shadowed by a local object, there is no need to waste time and have the search system re-perform acquisition of the signal in order to bring the vector DLL loop and the PLL circuits of the shadowed satellites (if coherent reference signals are being used) back in their tracking modes. The vector DLL loop also can provide better tracking characteristics when the receiver is being moved by the user. The tracking characteristics and the advantages of the vector DLL can be improved by increasing the number of active channels in the receiver tracking different satellites.
The structure of the vector DLL method can be described by the following way. The satellite input signal is applied to a group of tracking channels, each tracking channel having the usual set of correlators that would be found in an DLL circuit. The correlation signals are then applied to the set of incoherent code-delay discriminators used in typical DLL circuits, whose number N is equal to the number of channels where the signals from the satellites are received simultaneously. The delay-error signals Ed generated from the code-delay discriminators are filtered by respective low-pass filters and are corrected in order to take into account predictable factors, such as the forecasted satellite location, selective availability (if it is accessible), ionosphere delays, etc. Then, instead of being used individually to form a set of independently operating DLL loops, the filtered and corrected delay-error signals Ed are grouped together as a N-dimensional vector Z, and this vector is multiplied onto a pseudo-inverse geometric matrix G, and as a result the 4-dimensional vector V.sub.D is obtained: EQU V.sub.D =G.multidot.Z,
where EQU G=(H.sub.1.sup.T.multidot.R.sup.-1.multidot.H.sub.1).sup.-1.multidot.H.sub. 1.sup.T.multidot.R.sup.-1, [1]
where
The generation of the V.sub.D vector provided by form [1] is based upon the method of least squares where the matrix G is a pseudo-inverse matrix, also called generalized inverse matrix, for the complemented Jacobian matrix H.sub.1. To be a pseudo-inverse matrix of H.sub.1, matrix G need only satisfy the relationships G.multidot.H.sub.1.multidot.G=G and H.sub.1.multidot.G.multidot.H.sub.1 =H.sub.1. The multiplication of Z onto matrix G (V.sub.D =G.multidot.Z) generates an estimate of vector V.sub.D from a known vector Z, and the multiplication of V.sub.D onto matrix H.sub.1 generates an estimate of the vector Z from a known vector V.sub.D. These multiplications are usually performed in all GPS and GLN receivers when solving the navigation task, and are therefore well known to the art. The matrices H, R, H.sub.1, and G are computed in every global positioning system, and thus the computation of the matrix elements is well known to the art, and need not be presented here in order for one of ordinary skill in the global positioning art to make and use the present invention. The matrix R is usually a diagonal matrix since the measurement errors in the satellite signals are usually considered to be independent of one another. Also, the matrix R may be set equal to a diagonal unity matrix (R=I) in some instances for simplicity. One may use the present invention with R=I, in which case matrix G may be more simple generated in the form: G=(H.sub.1.sup.T.multidot.H.sub.1).sup.-1.multidot.H.sub.1.sup.T.
After generating vector V.sub.D from G and Z, the components of vector V.sub.D are filtered by four respective dynamic (loop) filters to form a 4-dimensional vector of common control signals. Then, by means of the multiplication with the matrix H.sub.1, the common control signals are transformed into an N-dimensional vector of individual control signals, which are then used for the frequency control of the individual code signal generators in each channel. As a result, a vector common loop is formed which uses delay information from all of the tracking channels, and which tracks the delay changes in the satellite PR-code signals which are caused by one or more common sources. For each tracking channel and the corresponding satellite code signal which it tracks, the vector common loop changes the phase delay of the channel's reference code signals to follow the delay change in satellite code signal which is cause by the common sources.
The disadvantage of the described method is the following. The advantages of the vector tracking are realized only for the code-signal tracking, and not for carrier-phase tracking, which is more susceptible to loss of lock and cycle clips. It is impossible to modify the described method for carrier-phase tracking by replacing the code-delay discriminators with the carrier-phase discriminators, and replacing the code-signal generators with the carrier-signal generators. The point is that, besides the common disturbances that are present in all of the tracking channels, there are also individual disturbances in each of the channels which are not common to the other channels and which change the code and phase delays in the tracking channels in an independent manner. These changes of the code delay and phase delay cannot be completely corrected by using the forecasted navigation information, and are badly tracked by the common loop. Therefore the residual errors appear. These errors caused by individual disturbances can be viewed as time shifts of several nanoseconds in the alignment between the satellite signal and the reference signals of the corresponding tracking channel (both the code and carrier signals). The output from the carrier-phase discriminator of the tracking channel depends upon the value of the correlation signal Q(*), and usually also on the value of correlation signal I(*). In turn, the values of these correlation signals are dependent upon the alignment of the reference PR-code signal to the satellite's PR-code signal, as represented by the correlation function R.sub.0 (.epsilon.). They are also dependent upon the phase difference .psi. between the reference carrier signal and the satellite carrier signal, as represented by the function sin .psi. for Q(*) and the function cos .psi. for I(*). A time shift .epsilon. of several nanoseconds only causes a minor change in the value of R.sub.0 (.epsilon.) since the value R.sub.0 (.epsilon.) does not vary much over the span of a 10 nanosecond shift. Thus, errors in the alignment of the PR-code signals do not appreciably affect the output of the carrier-phase discriminator (or the output of the code-delay discriminator). However, time shifts of several nanoseconds correspond to several carrier cycles and will lead to errors of several cycles of the carrier phase. Because of the periodic nature of the functions sin(.psi.) and cos(.psi.), the carrier-phase discriminator of a channel can only generate a unique value over the limited range of -.pi./2&lt;.psi.&lt;.pi./2. Therefore, such a hypothetical vector PLL scheme based on the prior art vector DLL scheme will not be able to maintain a lock on the proper carrier cycle when a disturbance arises, and will not be able to move back to the proper carrier cycle after being disturbed. Moreover, the output of the carrier-phase discriminator will no longer be reflective of phase shift caused by the common source, and thus the value it presents to the vector PLL would be meaningless.
The aim of the present invention is the increase of the operation fail-safety of the navigation receiver by means of the joint (not separate) tracking of the carrier signals from all the observed satellites.